La optimización en el entorno de HIP debe tratarse como una disciplina empírica rigurosa más que como una serie de suposiciones intuitivas. Al adoptar un flujo de trabajo sistemático, los desarrolladores aseguran que cada modificación del código esté justificada por datos, alejando la ingeniería de rendimiento de la "superstición de optimización" hacia un ciclo repetible y científico de hipótesis y verificación.
El flujo de trabajo de 6 pasos
Las directrices de rendimiento de HIP recomiendan una secuencia sistemática:
- Medir una línea base: Determine el tiempo de ejecución actual y el rendimiento.
- Perfilizar el programa: Usa
rocprofv3para recopilar contadores de hardware. - Identificar el cuello de botella: Determina si estás limitado por cálculo, memoria o latencia.
- Aplicar optimizaciones específicas: Enfócate únicamente en el cuello de botella identificado.
- Volver a medir: Verifica si el cambio realmente mejoró el rendimiento.
- Iterar: Repite el proceso hasta alcanzar los objetivos.
Evitar las supersticiones de optimización
Las mejoras de rendimiento deben ser resultados reproducibles de interacciones específicas con el hardware. Evita estas antipatrones:
- Cambiar el código del kernel antes de medir el rendimiento actual.
- Ajustar el tamaño del bloque sin saber si el kernel está limitado por memoria.
- Perseguir números de ocupación sin prueba de que afecten al trabajo específico.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>